Dovecot est une application d'agent de distribution des courriels. Pour voir ce qu'est un agent de distribution de courriels lire Comment fonctionne le courriel sous Linux ?
Cette application vous permet de trier et classer vos courriels à l'arrivée dans une boite aux lettres utilisateur ou dans une boite postale. Elle gère l'identification des courriels marqués comme SPAM ou comme Virus par votre MTA.
Installez les paquets de filtrages de l'agent de distribution des courriels Dovecot dovecot-sieve dovecot-managesieved.
Pour configurer le MDA Dovecot…
nano /etc/dovecot/conf.d/10-mail.conf
… mail_location = maildir:~/.local/share/courriels …
nano /etc/dovecot/conf.d/10-auth.conf
… disable_plaintext_auth = yes …
Le MDA utilise deux façons de distribuer les courriels, par l'Agent de Distribution Locale (LDA), ou avec le Protocole Local de Transport des Courriels (LMTP) qui est une variante locale au serveur de messagerie du SMTP.
nano /etc/dovecot/15-lda.conf
{
…
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
protocol lda {
mail_plugins = $mail_plugins #sieve
}
mailbox_command = /usr/libexec/dovecot/dovecot-lda -f "$SENDER" -a "$RECIPIENT"
nano /etc/dovecot/conf.d/20-lmtp.conf
protocol lmtp {
postmaster_address = utidisateur@mon_domaine_messagerie.fr
}
mailbox_transport = lmtp:unix:private/dovecot-lmtp
nano /etc/dovecot/conf.d/90-sieve.conf
plugin {
sieve = ~/.dovecot.sieve
sieve_global_path = /var/lib/dovecot/sieve/default.sieve
sieve_dir = ~/.sieve
sieve_global_dir = /var/lib/dovecot/sieve/
}
mkdir /var/lib/dovecot/sieve/ nano /var/lib/dovecot/sieve/default.sieve
L'exemple de règles suivant déplace automatiquement les courriels indésirables de la boîte de réception vers le dossier indésirable SPAMs. X-Spam-Flag est ajouté par spamassassin et amavis par le serveur MTA.
require "fileinto";
if header :contains "X-Spam-Flag" "YES" {
fileinto "SPAMs";
}
chown -R vmail:vmail /var/lib/dovecot sievec /var/lib/dovecot/sieve/default.sieve
nano ~/.dovecot.sieve
require "fileinto";
if exists "X-Spam-Flag" {
# Store spam tagged by SpamAssassin into dedicated Spam folder
if header :contains "X-Spam-Flag" "YES" {
fileinto "Spam";
}
} elsif exists "X-Cron-Env" {
# Store mails from Cron daemon in dedicated folder
fileinto "cron";
} elsif exists "List-Id" {
# File list-mail into dedicated folders, matching on List-Id
if header :contains "List-Id" "boost-users.lists.boost.org" {
fileinto "boost-users";
} elsif header :contains "List-Id" "brltty.mielke.cc" {
fileinto "brltty";
} elsif header :contains "List-Id" "debian-accessibility.lists.debian.org" {
fileinto "debian-accessibility";
} elsif header :contains "List-Id" "debian-devel-announce.lists.debian.org" {
fileinto "debian-devel-announce";
} elsif header :contains "List-Id" "debian-devel.lists.debian.org" {
fileinto "debian-devel";
} elsif header :contains "List-Id" "spirit-general.lists.sourceforge.net" {
fileinto "spirit-general";
}
# ...
}